<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 基本数据类型：string、number、boolean、undefined、null
        // 引用数据类型：String、Number、Boolean、Object、Array...
        var strs="welcome";//使用字面量的方式来定义字符串，基本数据类型
        strs.age=20;//不能为基本数据类型添加属性和方法的，只有引用数据类型才能添加属性和方法
        strs.run=function(){
            console.log("在跑步");
        };
        console.log(strs);
        // console.log(strs.age);//undefined
        // strs.run();//报错

        console.log(strs.substring(2,3));//当访问基本类型值时，会自动创建一个对应的基本包装类型的对象，从而能够调用一些方法来操作这些数据
        console.log(strs.indexOf("lcome"));


        var strs2=new String("aa");//使用构造函数的方式来创建字符串，引用数据类型
        strs2.age=30;//可以为引用数据类型添加属性和方法
        strs2.run=function(){
            console.log("跑步");
        };
        console.log(strs2);


        var num=23;//基本数据类型
        var num=new Number(23);//引用数据类型

        var isMary=true;//基本数据类型
        var isMary=new Boolean(true);//引用数据类型

        // 结论：
        // 使用字面量创建的字符串、数值、布尔值是基本数据类型
        // 使用构造函数创建的字符串、数值、布尔值是引用数据类型

    </script>
</head>
<body>
    
</body>
</html>